Process for providing targeted user content blended with a media stream

ABSTRACT

A network system provides delivery of customized target content, such as advertising, to individual users. There is transmission of a common spot content stream to a large group of the users. Each home client user communicates through a telecommunications network, such as the Internet, for connection to a portal to receive continuing media, such as streaming audio or video. The user installs receiver software at his home client processor for receiving both the streaming media and a content stream. The media stream includes spot markers placed at appropriate locations in the media stream by the publisher to designate locations for insertion of spot content and optionally to identify specific characteristics of the media stream. The content stream includes content units, such as audio advertising, together with spot content frames, which include parameters having values designated by the spot content provider to be the target audience. A profile is produced at the home client having parameters with values associated with the home client user, such as geographic and demographic information. The receiver software at the home client matches the spot content frame for each spot content to the profile of the user to select those spot content units which have a match. These selected spot content units are stored at the home user and are blended into the media stream at the locations of the spot markers to produce an information data stream for the user that is customized for that user. A spot auditor at the home client measures the type and quantity of play back of the spot content received by the home user and this is reported to the spot content provider for measurement of the effectiveness in the distribution of the spot content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/929,271, filed Jun. 27, 2013 (now allowed), which is a continuationof U.S. application Ser. No. 12/561,837, filed Sep. 17, 2009 (now U.S.Pat. No. 8,495,674), which is a continuation of U.S. application Ser.No. 09/479,807, filed Jan. 8, 2000 (now U.S. Pat. No. 7,610,597). Thecontents of the above-referenced applications are expressly incorporatedherein by reference to their entireties.

TECHNICAL FIELD OF THE INVENTION

The present invention pertains in general to providing targeted contentto a user, and in particular to such media and content advertising thatis conveyed via a broadcast medium such as the Internet.

BACKGROUND OF THE INVENTION

Most online advertising, typically through the Internet, is accomplishedvia the use of an ad-server technology where a placeholder tag is usedon the online publishers webpage and a request is made to the ad-server,which may be located anywhere in the internet, to fill in the space. Anumber of companies have been created to fill the need to serve andmanage these advertisements for these online content publishers. Thesead-servers and ad-management companies have been some of the fastestgrowing companies in the Internet marketplace.

There is a serious problem with online advertising which uses a bannerad. As the user's desktop becomes more complex and cluttered, theeffectiveness of banner advertising diminishes. Advertisers andadvertising agencies are seeking more effective channels on the Internetto get their message to the consumer. As a result, interstitialadvertising has become and will likely continue to be an increasinglyimportant factor in online advertising. Interstitials are those ads thatbreak the proscenium of the web browser by either opening up a newwindow, or specific application, in order to draw the attention to theuser. This occurs often at the annoyance of the user since it cluttersthe workplace even further. These methods have proven successful thoughas click through rates have increased dramatically, especially for mediarich ads that clearly require the attention of the user. A problem withmedia-rich ads is that they are not tightly bound to the content thatthe publisher is providing. Further these ads typically requiresubstantial buffering before they can be played by the consumer. Thisbuffering causes delays in the presentation of the ad, and except forthose users with very fast internet connections there is anunsatisfactory experience.

It is important to note that streaming media publishers now have few orno audio ads in play on their sites. The reason for this resides in anumber of technology problems that exist in the delivery of streamingaudio advertising. Most notably that streaming audio, unlike its webpagecousin, cannot tolerate the delays and buffering that a traditionalad-server technology uses. Thus, there exists a need for a process toprovide content, such as advertising, efficiently and effectively inconjunction with a media stream.

SUMMARY OF THE INVENTION

The present invention relates to processes for providing targeted spotcontent, such as advertising, to users of a continuing media, forexample, streaming audio. A media stream is produced which isinterspersed with spot markers and this media stream is providedconcurrently to the processors for a plurality of the users. The spotmarkers identify locations in the media stream for insertion of the spotcontent. A user profile is provided at each of the processors whereinthe profile has a plurality of parameters, such as geographic anddemographic, having values of the parameters associated with the user ofthe processor. A content stream is provided concurrently to each of theprocessors. The content stream includes a sequence of spot contents witheach spot content having a related frame which includes at least one ofthe parameters corresponding to the user profile and including valuesfor the parameters. At each processor, the spot content frame isexamined to determine if it has values for one or more of its parameterswhich match values for one or more of the corresponding parameters ofthe user profile associated with the processor. The spot contentcorresponding to the frames which match the user profile are selectedfor use at the processor. At each processor a user information stream isgenerated which comprises the media stream with the selected spotcontents inserted at the locations of, and in place of, the spot markersin the media stream thereby producing a customized information datastream for a particular user.

A further aspect of the present invention is the auditing of the spotcontent that is played at each home client user. A log is maintained foridentifying the actual spot content, typically advertisements, played ata user together with the profile for the user. This log is periodicallytransferred back to the provider of the spot content for determining theeffectiveness of an advertising campaign utilizing the spot content inconjunction with the media stream.

The present invention has aspects specifically pertaining to a mediapublisher, a spot content provider and to a home client user.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and theadvantages thereof, reference is now made to the following descriptiontaken in conjunction with the accompanying drawings in which:

FIG. 1 is a network topology illustrating an implementation of thepresent invention,

FIG. 2 is a schematic illustration of a media stream and content streamtransmitted to a home client and the production of a blended informationdata stream targeted to the home client user,

FIG. 3 is a flow diagram illustrating the receipt and processing of amedia stream with spot markers at a home client,

FIG. 4 is a flow diagram illustrating operation at the home client ofreceiving a content stream with content units and spot content framesand selectively storing spot content which matches the user profile;

FIG. 5 is a functional block diagram further illustrating operations ina home client for combining spot content units with media stream units,

FIG. 6 is a flow diagram illustrating the operation of the spot auditorshown in FIGS. 1 and 5, and

FIG. 7 is a functional diagram representing multiple source content(advertising) providers conducting multiple advertising campaigns withadvertising content being supplied to multiple home clients.

DETAILED DESCRIPTION

The present invention is a system in which content is distributed to atargeted audience. The content may comprise advertisements, localreports, weather, pubic announcements, each of which is generallyrelevant to a specific audience. The content is preferably in a form ofstreaming media such as audio or video, but may take other forms such astext. Conventional synchronous broadcast methods send identical contentglobally to all users. Synchronous multicast methods send multiplestreams of content, each of which is received identically at all userterminals, and is meant to be played back in the order in which it isreceived. In contrast, the process of the present invention is directedfor delivering content in a hierarchical and efficient fashion from anumber of sources asynchronously. The present invention may also includethe transport of isosynchronous traffic, that is, traffic which containsan inherent concept of time. The content transmitted in the presentsystem may be further shared and redistributed between users.

The transmitted content may be bound, that is, associated, with othercontent, such as advertisements, and other audience serviceannouncements. The content can be provided from a variety of sourcesthat include, but are not limited to, terrestrial sources such ascellular, including GSM, radio stations broadcasting in an appropriaterange, infrared ports on nearby units, un-tethered media players and theInternet.

The content is organized by groups, and the groups are organizedhierarchically. Content may inherit properties hierarchically. There aretwo major types of content properties. These properties are membershipand action. These properties may affect the binding to other content.One type is membership binding. These properties may also bind contentto actions to be performed on the content, such as the time in whichcontent may be reviewed, frequency of playback, and duration of validityof content. These latter properties are deemed to be action binding.

Content may be tied to or excluded from a particular region, which is anexample of membership binding. Action binding may be of a positive ornegative nature. An example of negative binding is a requirement todelete content when a time period has elapsed.

Messages can also be sent to users to affect the content. The messagescan have IDs. These IDs are used to serialize the message foruniqueness. A further aspect is that individual messages can beacknowledged. The messages can also be protected by an encryptiontechnique, or authenticated by a signature. The encryption is typicallyassociated, bound, with a particular group membership such that onlymembers of that group may understand the contents of the message. Themessages described herein comprise spot markers and spot content frames.

The recipient programs (receivers) which, are implemented by Internetusers in accordance with the present invention may also have properties.These properties include both action and membership bindings. A receivermay belong to either a group or a series of groups. A receiver may inferactions or membership from certain messages, or from the lack of certainmessages. An example of such a message is that all receivers thatreceive a certain message are members of a certain group, while thefailure to receive such a message indicates that a receiver is not amember of that group. Receiver behavior may be modified as a result ofthe receipt of a message. Such a message may be unique to a particularreceiver or it may comprise information intended for a group ofreceivers. The message can come from any valid source. In particular,behavior may have time duration, or a period of validity, after whichthe behavior may no longer be enforced or applicable. One property thatis unique to a single receiver is the receiver ID. The receiver IDs areunique within the entire world and are eternally valid. A furtherproperty of a receiver is that it has the concept of local time anddate. A receiver may maintain multiple views of the world. This isuseful for receivers that are used in multiple geographically distinctenvironments or in diverse roles. A receiver may coordinate its behaviorwith other receivers, devices or subsystems within the same device.

The present invention provides a process for the concurrent transmissionof a content stream, such as advertisements, to a plurality of homeclient users, each of which is also receiving a media stream from apublishing portal. A profile is produced or provided at a home clientuser that has information associated with that particular user. Thereare a plurality of transmitted spot content units in a stream andassociated with each spot content unit is a spot content frame which hasparameters that correspond to parameters in the local user profile. Theparameters in the spot content frame are assigned particular values bythe spot content provider, typically an advertiser. At the userprocessor, each received spot content frame is checked to determine ifthat spot content is associated with the particular user and thereforeshould be stored. Other spot content is ignored.

A media stream, such as musical entertainment, is provided to the userwith a series of interspersed spot markers for designating insert pointswithin the media stream for the spot content units. At the user, theselected spot content is inserted at the locations of the spot markersto produce an information data stream that is customized for theparticular user. Thus, the present invention has the advantage ofuniversal broadcast of the same data stream to all users butcustomization at the user to produce targeted content for the user inconjunction with a media stream that has been selected by the user.

A topology 20 which represents an application of the present inventionis shown in FIG. 1. This embodiment represents the conventionalInternet. The communications portion of the Internet is represented bythe a telecommunications network 22. The system includes a publisherportal 24, a spot content provider 26 and a plurality of home clientsrepresented by home clients 28 and 30. Each of the entities 24, 26, 28and 30 is connected to the telecommunications network 22 by abi-directional communication channel of any type such as telephone,cable, Internet and satellite. These are respectively channels 40, 42,44, 46, 47 and 48. Multiple channels, such as 44 and 46 can be carriedby a single communication line.

The publisher portal 24 receives content from a storage 48, which istypically a disk drive. Live, rather than recorded content, is receivedvia a line 50.

The publisher portal 24 includes a live feed encoder 52 which encodesthe live media stream received via line 50 and provides it to aconventional streaming media server 54. In the preferred embodiment ofthe present invention, the streaming media is audio, however, streamingvideo may also be used, as well as sequential text. The portal 24further includes a spot manager 56 which receives the contents recordedin the storage 48 and inserts spot markers in the resulting stream,further described in reference to FIG. 2, which is provided to theserver 54. The portal 24 further includes a media authoring/mixer 58which produces and manages the media content which is recorded at thestorage 48.

The spot content provider 26 is preferably a site that provides a sourceof advertising content which is recorded on a storage 68. The creation,management and operation of the ads recorded on the storage 28 isperformed by an ad campaign manager 70. An ad server 72 receives theencoded ads from the storage 68 and provides them via the line 42through the telecommunications network 22. The ad server 72 can handle alarge number of ad campaign managers 70 concurrently. Thus, the presentinvention can conduct multiple advertising campaigns at one time.

The network shown in FIG. 1 represents one instance of the presentinvention. A full representation of a network employing the presentinvention includes multiple publisher portals, multiple spot contentprovider and a large number of home clients.

The system shown in FIG. 1 illustrates two home clients 28 and 30 whichare representative of a very large number of potential home client usersin the Internet. Home client 28 will be described as representative ofall the home clients. Home client 28 includes a stream receiver 74 whichcommunicates respectively through the channel 44 to thetelecommunications network 22. The stream receiver 74 works with a spotscheduler 76, further described below, to produce a blended data streamthat is provided to a media player device 78. Representative mediaplayer devices include a web based MP3 player, tethered MP3 player,cellular (untethered) MP3 player, or embedded (PDA) MP3 player. The homeclient 28 further includes a spot auditor 80 which is further describedbelow.

FIG. 2 is a representation of data flow and processing in accordancewith the present invention. A media stream 94 comprises media units 96,98, 100 and 102. Interspersed in the media stream adjacent to the mediaunits are spot markers that correspond to the adjacent media unit. Theseare markers 96 a, 98 a, 100 a and 102 a. The content of the spot markersis shown in Table 1.

TABLE 1 A. Frame Identifier: (4 bytes): B. Size (4 bytes):    The sizefile ignores the 8 bit of each byte. Shift the four fields together toform a 28 bit size.    The 28 bit value is the number of bytes of theFrame not including the Frame Header of 10 bytes.    The Frame Header isthe Frame Identifier, the Size, and the Flag Fields.    If the Spot Typeis an Ad then the Length = 0x00000050 C. Flags (2 bytes -

    For LC — 1^(st) Byte = 0x20 and 2^(nd) Byte = 0x00 D. URL: (29bytes):    This is a null terminated URL pointing to the originatingpoint of contact. In our case:       “http:\\www.lightningcast.net”followed by 0x00 for the Null Character: X. Pad Byte (3 Byte) — 0x000x00 0x00 E. Magic Key 1 (4 bytes): - Reserved for Encryption Scheme forlater versions F. Magic Key 2 (4 bytes): Reserved for Encryption Schemefor later versions G. Version Id (2 bytes):    1^(st) Byte — MajorRevision Number (in our case 2)    2^(nd) Byte — Minor Revision Number(in our case 0) H. Spot Type (2 bytes):    0x0000 — (Invalid)    0x0001— Advertisement    0x0002 — Traffic Report    0x0003 — Weather Report   0x0004 — Public Announcement    0x0005 — 0xffff — Reserved for laterversions I. Publisher Id (4 bytes): J. Ad Content Id (4 bytes): K.Geographic Id 1 (4 bytes): L. Geographic Id 2 (4 bytes): M. DemographicId 1 (4 bytes): N. Demographic Id 2 (4 bytes): O. Control Flags (2bytes):    0x0000 — Invalid    0x0001 — Stop Ad Spot Replacement   0x0002 — Start Ad Spot Replacement P. Membership Id (1 bytes):   Local/Global — Reserved for use in future multicast versions Q.Discard Rule (1 byte):    0x00 — Invalid    0x01 — Drop Ad on SpotException    0x02 — Alarm on Spot Exception R. Authentication Rule (4byte)    Reserved for future use Y. Spot Duratioin (2 bytes) — Theduration is in the terms of seconds. Z. Reserved for Future Use (2bytes) 1. Category Id (4bytes) - The music style genre (ie: Classical,Jazz, Techno, Pop . . .)

In this example for media stream 94, spot markers have been interspersedin front of every media element unit. It is the discretion of the mediapublisher when utilizing the spot manager 56 to select where spotmarkers need to be placed. For example, a spot marker can be insertedinto the media stream after every n media unit, or enter spot markers x,y, z after every seventh media unit, or any combination the mediapublisher desires. A media unit may comprise one or a group of songs.

A publisher can select media, such as music, and determine a pluralityof insertion points where the spot markers should be, and the spotmarkers are then inserted for the media stream.

A content stream 110 comprises a series of content units 112, 114, 116,118, 120 and 122. These content units may be, for example, audioadvertisements having a length of 30 seconds or less. Associated witheach content unit is a spot content frame having information related tothe associated content unit. These comprise spot content frames 112 a,114 a, 116 a, 118, 120 a and 122 a. The spot content frames are furtherdescribed below.

A frame is a block of data. Other terms corresponding to a frame are tagand header.

The spot content frame describes how to target the spot content elementwithin the listening audience network. The spot content frame has thestructure shown in Table 2.

TABLE 2 A. DomainId—Identifies AdServer Domain B. ContentID—IdentifiesContent within an Adserver Domain C. ContentType—Identifies type ofContent Announcement = 0x0100 Control = 0x0200 AdvertisementAnnouncement= 0x0101 TrafficAnnouncement = 0x0102 WeatherAnnouncement = 0x0103NewsAnnouncement = 0x0104 PublicAnnouncement = 0x0105IdentificationAnnouncement = 0x0106 CampaignControl = 0x0201 A. ContentMembership—Identifies Membership Group B. ContentNationality—Nationality of Content Provider G. ContentAction—Type ofContent Action Behavior AudioMedia = 0x0001 VideoMedia = 0x0002 WebMedia= 0x0003 H. ContentClickAction—Type of Content Click Action Behavior(Action = 1 byte, 31 bytes of parameters) WebAction = 0x1 EventAction =0x2 Where: if WebAction then next 31 bytes specify URL If EventActionthen EventCodes = I. ContentProviderID—Content Source Provider Id J.ContentCategoryID—Content Media Genre Category K.ContentEncodingScheme—Content Encoding Type MP3 = 0x01 ASF = 0x02 AAC =0x03 MP4 = 0x04 WAV = 0x05 PCM = 0x06 WMA = 0x07 L. ContentTitle—ContentTitle Ascii String M. ContentStartDate—Gregorian Calendar Start Date N.ContentEndDate—Gregorian Calendar End Date O. ContentMaxPlays—Max Timesto play content (−1 = no limit) P. ContentFrequency—The frequency withwhich this ad should be played indicated by ContentFreqUnitSize Q.ContentFreqUnitSize—The number of units to play content (1 unit = 1 day)R. ContentGeographicTag—Geographic Info (zipcode, country code) S.ContentDemographicTag—Demographic Info (1 byte for each) (age,nationality, gender, income, occupation, education, married) T.ContentDiscardRule—Exception Handling Discard Discard on Failure = 0x01Alarm on Failure = 0x02 U. PublisherContentId—Publisher Content ProviderId

The media stream 94 is provided by the publisher portal 24 and thecontent stream 110 is provided by the spot content provider 26.

Within the home client 28, a profile is produced of the user for theprocessor of the home client 28. This profile consists of a group ofparameters, each having a particular value. The parameters for a userprofile is shown in Table 3.

TABLE 3 A. Geographic Id (8 bytes) (zipcode, country code) B.Demographic Id (8 bytes) (age, nationality, gender, income, occupation,education, marital status) C. User Info (64 bytes) (first name, lastname)

Should the user not provide input for the home client profile, a defaultuser profile in the geographic information based on the user's IPaddress.

The content stream 110 is received by the home client 28 by the streamreceiver 74 and the information in each of the spot content frames isexamined and compared to the profile parameter values of the home client28 user to select which content units should be associated with thisparticular home client user. For the present example, it is assumed thatmatches are made with content units 114, 118 and 120. Only theseselected content units are stored at the home client 28.

The stream receiver 74 detects each of the spot markers within the mediastream 94 to determine the location for inserting the selected contentunits. The media units are provided continuously to the media deviceplayer but at the points of the spot markers, the selected content unitsare inserted to produce an information data stream 124 that iscustomized to the particular home client 28 user. The information datastream 124 comprises the content unit 114, which perhaps is anadvertisement or public service announcement, followed by the media unit102, which could be a series of songs, or other programming material.Content unit 114 is inserted in the media stream 94 at the position ofspot marker 102 a. Following the media unit 102 there is a furthercontent unit 118. The content unit 118 is inserted at the location ofthe spot marker 100 a. Following the content unit 118 there is mediaunit 100 followed by content unit 120, which is inserted at the locationof spot marker 98 a. Continuing with the information data stream 124there is the media unit 98 followed by the content unit 114 at thelocation of spot marker 96 a. The content units 114, 118 and 120 arerepeated in a round robin basis until they expire or new content unitsare received.

The operation of the present invention is now described in reference toFIGS. 1 and 2. A user such as home client 28 requests streaming mediacontent from the publisher portal 24 via the telecommunications network22. The portal 24 then queries the user to find out whether or not thehome client 28 already contains a previously loaded package of softwarefor spot content targeting. This includes the stream receiver 74, spotscheduler 76, and spot auditor 80. If already loaded, the publisherportal 24 proceeds to transfer streaming media through channels 40 and44 to the home client 28. If not loaded, the user of the home client 28is requested to download this package of software. If the user concurs,the software is transferred to the home client 28. Once the download ofthis software package is completed, this software is executed to selfextract and install itself into the home client 28 processor. Onceinitiated, this software initiates a registration request with the userof the home client 28 to obtain values for the user profile parameters.This information is provided to the spot content provider 26. Theregistration requests the user's geographic and demographic profileinformation, such as zip code, age, gender, and income. This informationis stored at the home client 28 as a user profile and is furthertransferred to the spot content provider 26 to indicate that a new userhas joined the network and has requested spot content data.

As an example, each of the media 102, 100 and 98 can compriseapproximately 30 minutes of music and the content units 114, 118 and 120can each comprise a 30 second commercial.

The spot content provider 26 is capable of accepting multiple homeclient session requests and managing multiple home client sessionssimultaneously. Once a home client 28 user requests to join the networkand has been accepted by the spot content provider 26, the provider 26will then start transmitting the content stream 110 via server 72 to thehome client user's computer system. Each spot content frame hasparameters that correspond to the user profile parameters, and valuesfor these parameters are provided in each spot content frame by provider26. The home client software will then only store the received spotcontent units that match the configured geographic and/or demographicinformation that was entered in the user profile during the previousregistration process. As further described below, the spot content unitsstored at the home client 28 include information indicating when thespot content unit is to be played, the spot content unit identification,the publisher identification of the spot content unit, the geographicand demographic profile for this spot content unit, and how long thespot content unit should be stored on the home client 28 processor.

The publisher portal 24 generates the media stream 94 which includes thespot markers, such as 96 a and 98 a, indicating what type of spotcontent unit should be placed at this position in the media stream, thegeographic and demographic information of the spot content unit, and thetype of streaming media 94 content that is being listened to by the homeclient 28 user.

A more detailed description of the operation of the software within thehome client 28 is described in reference to FIGS. 3 and 4. FIG. 3represents the processing of the media stream 94, and FIG. 4 representsthe processing of the content stream 110.

Referring to FIG. 3, at step 150 the stream receiver 74 reads the mediastream 94, which is received from the publisher portal 24 via thetelecommunications network 22. Continuing to a question step 152, aninquiry is made to determine if the frame which has, been received is aframe for a media unit, such as 98, or is a frame for a spot marker,such as 98 a. If a media frame has been received, the Yes exit is takenfrom step 152 for entry to step 154 in which the received media frame isqueued to the player device 78. The media frame is stored in a cache andentry is made back to repeat the operations beginning at step 150.

If a media frame has not been received at step 152, the No exit is takento question step 156 to determine if a spot marker frame has beenreceived. If a spot marker frame is not identified, the No exit is takento operational step 158 to discard the frame and return to step 150.But, if a spot frame has been identified at step 156, the Yes exit istaken to step 160. An examination is made in step 160 to determine ifthe received spot marker frame is valid. The validity of the spot markeris determined by comparison of the spot marker's frame identificationparameter with the home client's software version ID. If the receivedspot marker frame received is not valid, the No exit is taken to discardthe frame at step 158 and return to entry step 150. If the received spotmarker frame is determined to be valid, the Yes exit is taken from step160 to step 162.

At step 162 an examination is made to determine if the received spotmarker is designated as an advertisement spot marker. If not, operationis transferred to a processing step 164 which processes other types ofspot markers in the same manner as further described below in steps166-174. Other types of spot markers include public announcements, localweather, local traffic, or other types of content units.

If an advertisement spot marker has been detected at step 162, controlis transferred via the Yes exit to step 166 to obtain the category IDfrom the spot marker. Next, entry is made to step 168 to extract the adduration from the selected spot marker. Duration marks how long a spotcan exist within the stream. Category defines the type of listeningcategory the user channel has selected.

From step 168, operation is transferred to step 170 to select theadvertisement embodied in a content unit which has been stored in thecache and that matches the category and duration now determined for theselected spot marker. At step 172, the examined spot marker isdiscarded. Next, at step 174 the frame (content unit) for the selectedad for queuing to the media player device 78. The selection and storageof the ad content is described in reference to FIG. 4. Upon completionof step 174, operation is returned to the entry step 150.

Steps 150 through 172 and 174 are performed by the stream receiver 74and step 170 by the spot scheduler 80.

The processing of the content input stream 110 at the home client 28 isdescribed in reference to FIG. 4. Entry is begun at a step 190 to readthe content stream 110 from the input port for receiving the contentstream. At this point only the spot content frames, also referred to asheaders, such as 112 a and 114 a, are examined. At step 192, adetermination is made if the received spot content frame is valid.Validity is determined by comparison of the content frame identificationparameter with the home client's software version ID. If the spotcontent frame is not valid, the No exit is taken to a discard frame step194 and control is then returned to the entry step 190.

If the spot content frame is determined to be valid at step 192, the Yesexit is taken to step 196 to determine if the content frame is for anadvertisement. If an ad content frame is present at step 196, entry ismade via the Yes exit to step 200 for extracting the geographicinformation from the spot content frame under examination. If an adcontent frame is not detected at step 196, the No exit is taken to step198 to process other content frame types in a similar manner asdescribed in steps 200-210. Other types of content frames include newsreports, weather reports, traffic reports, public announcements, statusidentification and control requests.

Steps 190 through 204, 208 and 210 are performed by the stream receiver74 and step 206 by the spot scheduler 80.

At step 202, the demographic information from the spot content frame isextracted. At step 204, a category ID from the spot content frame isextracted.

Following step 204, entry is made to a question step 206 to determine ifthe previously stored profile parameter values for the user of the homeclient 28 matches the selected geographic and demographic informationextracted for the received spot content frame. If not, the No exit istaken to discard the frame and return to the entry step 190. If there isa match, the Yes exit is taken from step 206 to step 208 for storing thead content unit which corresponds to the spot content frame examined,into a category queue. Next, at step 210, the spot content frame whichhas been examined is discarded and control is returned to the entry step190. This process examines each received spot content frame to determinethose that match the specific user which received the content stream andstores the specific content units that have been matched. Thus, thisbuilds up a selection of the ad content in a cache which is utilized asdescribed previously in reference to FIG. 3.

The ad insertion process disclosed in the Figures is only an instance ofthe possible choices available in the disclosed spot marker technologysince a spot marker identifies content to be inserted in a hierarchicalfashion. The following relationships exist in a spot marker.

-   -   Spot type=(announcement date or control information)    -   IF (spot-type=announcement data), then the possible announcement        types exist, (but not limited to) advertisement        -   weather report        -   news event report        -   traffic report        -   stock quote report        -   public service report    -   IF (spot-type=control information), then the possible control        types exist, (but not limited to) stop insertion        -   resume insertion

Other spot markers can be processed to test for each of the announcementtype marker fields, and if these types are not set, check for controltype marker values. If those marker fields are not set, discard the spotmarker frame and return control to reading the stream input port. If anyspot type field is valid, then the content is fetched by the spotscheduler and that content is played by its player device within thehome client.

The operations that are carried out within the home client 28 arefurther shown in FIG. 5. The stream receiver 74 receives the contentstream 110, which includes advertisements, and the media stream 94,which includes media such as music entertainment. Media stream contentis shown by numeral 226. The content stream 110 selected content unitssuch as 224 are provided to a cache manager 230 which transfers thereceived digital information to a cache 232. All of the content unitswhich have been determined to match the home client profile are storedin the cache 232.

The spot scheduler 76 selects the advertising content units such as 112and 114 which are provided to a stream content interpreter 234. Themedia units in the media stream 94 are likewise provided to the streamcontent interpreter 234. This interpreter interleaves the media contentwith the spot content (advertising) to produce a sequential stream whichis provided to the media player device 78 for producing the informationdata stream 124 that is provided to the user of the home client.

The present invention can be used by advertisers, the provider 76, for aspecific advertising campaign. For the campaign, content units such as112 and 114 are prepared which comprise the advertisements to bedistributed in the campaign. An important aspect in advertising isauditing to determine how many times a particular advertisement has beendisplayed to a potential consumer. This often determines the paymentthat the advertiser must make to the provider of media in which theadvertisement is carried.

When the ad server 72 (FIG. 1) transmits the content stream 110 to thenetwork 22, the server 72 record the information that was transmitted inan auditing table. In accordance with the present invention, there maybe a very large number of the spot content providers such as 26operating at any one time, as well as a large number of the publisherportals 24 operating at one time. The home client 28 user selects theparticular publisher portal 24 and the information in the spot markersreceived from the portal 24 identifies the particular provider 26 to beconnected to the home client 28 for providing the content stream 110.

Once the content stream 110 has arrived at a home client 28 processor,software in the home client determines whether or not parameter valuesin the received spot content frames match the geographic and demographicprofile of the user. If there is a match, the content units, such as 112and 114, are stored and classified according to the corresponding spotcontent frames.

The home client 28 stream receiver 74 also receives the media stream 94and examines the spot markers within this stream. These spot markersindicate which of the content units previously stored should be insertedinto the information data stream 124 that is provided to the user. Thestored content units are then inserted and the spot scheduler 76 recordsin an audit table information comprising the content unit ID (6 thingstotal). There is also a record of the number of times that each contentunit was inserted into the stream. An indicator of whether the completecontent unit was provided to the user is also made, since the user hasthe capability of terminating the play of the content unit before it iscompleted. As further described below, this audit log is periodicallytransmitted to the ad server 72 where this information is provided tothe particular ad campaign manager 70. The ad campaign manager can thenanalyze and classify this information to determine the value andeffectiveness of the advertising campaign.

The audit log maintained at the home client 28 for each displayed adincludes the following information:

1. Ad identification

2. Geographic location (of the user)

3. Demographic information (of the user)

4. Category

5. Publisher

6. Content played/skipped

A user can terminate an ad before it is completed and the state ofeither complete play or termination (skipped) is recorded in the auditlog.

The operation of the spot auditor 80 in each of the home clients isdescribed in reference to FIG. 6. In step 252 the spot scheduler 76updates an audit log for each ad that is played. The informationrecorded for each ad that is play is that shown immediately above.

The information for the ads that are played is collected over a periodof time and in step 254 the expiration of a predetermined time intervalis detected. Continuing to step 256, the content of the audit log iscollected.

After the content of the audit log is collected, in step 258 thiscontent is transmitted to the ad server 72. In step 260, the audit logis cleared followed by resetting the time interval in step 262. Next,control is returned to the step 252 to resume recording the audit logfor each ad that is played.

The present invention can be utilized with multiple advertisingcampaigns concurrently conducted by multiple source content(advertisers). Referring to FIG. 7, two source content providers A and Bare identified respectively by reference numerals 280 and 282. Theprovider A produces advertisement campaigns A1, A2 and A3. The sourcecontent provider B (282) is producing advertising campaigns B1, B2 andB3. An advertising campaign is typically conducted by distributing oneor more advertisements for a particular product or service. The contentproviders 280 and 282 correspond to the spot content provider 26previously described in reference to FIG. 1. Each of these providersencodes the advertisements, which comprise the spot content units, withthe corresponding information in the spot content frames, as describedin reference to FIG. 2. This information selects the targeted audience:All of the content streams produced by the providers 280 and 282 aretransmitted to the ad server 72 where they are then communicated via thetelecommunications network 22 to various home clients represented as284, 286 and 288. As previously described, a home client is providedwith a content stream 110 when it is logged on to receive continuingmedia from a publisher. All of the clients shown receive the samecontent stream.

In a further aspect of the present invention, there can be multiplecontent streams provided to respective groups of home client users. Thegroups are defined by the user profile information. The spot contentprovider, such as 26, can specify to the ad server 72, which of groupsare to receive a specific content stream. The membership of users in agroup can also be defined by a publisher based on the type of media theyare providing. 20. A home client user can select a publisher that isparticipating in a certain advertising campaign and that home user willreceive the content stream associated with that campaign. For example, asports broadcaster may want to grant exclusive advertising rights to oneor a group of advertisers and the content stream for that publisherwould include only the advertising content for the selected advertisers.

An example for the present invention is presented for two home clientusers having the profiles shown below in Tables 4 and 5.

TABLE 4 HomeClient #1 Profile Geographic = Maryland Demographic = 15years old male us no income high school not married User info = none

TABLE 5 HomeClient #2 Profile Geographic = Virginia Demographic = 15years old male us 20 no income high school not married User info = none

A spot marker included in the streaming audio being received by two homeclient users is shown in Table-6.

TABLE 6 Spot Marker = SpotType = Advertisement PublisherId = Publisher AAd Content Id = none Geographic Id = none Demographic Id = none ControlFlags = none Membership Id = none Discard Rule = discard Authentication= none Spot Duration = 30 sec Category Id = Rock Music

First and second example spot content frames are shown in Tables 7 and8.

TABLE 7 SpotContent Frame # 1 = DomainId = Domain A ContentId = ContentId # 1 Content Type = Ad Announcement ContentLanguage = EnglishContentProviderNationality = US ContentAction = AudioMediaContentClickAction = WebAction URL = www.adProvider1.comContentProviderId = Ad Provider 1 ContentEncodingScheme = mp3ContentTitle = CokeAd ContentStartDate = Jan 1 ContentEndDate = Feb 1ContentMaxPlays = 30 ContentFrequency = 30 ContentFreqUnitSize = 30ContentCategory = Rock Music ContentGeographicTag = VirginiaContentDemographicTag = 15 years old, male, us, no income, high school,not married) ContentDiscardRule = none PublisherContentId = none

TABLE 8 SpotContent Frame # 2 = DomainId = Domain A ContentId = ContentId # 2 Content Type = Ad Announcement ContentLanguage = EnglishContentProviderNationality = US ContentAction = AudioMediaContentClickAction = WebAction URL = www.adProvider1.comContentProviderId = Ad Provider 1 ContentEncodingScheme = mp3ContentTitle = McDonald's Hamburger Lady Ad ContentStartDate = Jan 1ContentEndDate = Feb 1 ContentMaxPlays = 30 ContentFrequency = 30ContentFreqUnitSize = 30 ContentCategory = Rock MusicContentGeographicTag = Virginia ContentDemographicTag = 15 years old,male, us, no income, high school, not married) ContentDiscardRule = nonePublisherContentId = none

In the present example, the spot marker in Table 6 is transmitted in amedia stream that has been selected by both the home client users of theprofiles shown in Tables 4 and 5. The spot content frame #1 shown inTable 7 and spat content frame #2 shown in FIG. 8 represent the spotcontent frames such as 112 a and 114 a shown in FIG. 2. Note that thedemographic tags (profile parameters) in both Table 7 and Table 8 forthose spot content frames match the demographic parameter values for thehome client users as shown in the profiles in Tables 4 and 5. However,both of the spot content frames shown in FIGS. 7 and 8 require ageographic selection of “Virginia.” The home client user profile inTable 4 has the geographic value of “Maryland” while the home clientuser in Table 5 has the geographic value of “Virginia.” Therefore theprocessor for the home client #2 user as shown in Table 5 will detect amatch for both the spot content frame shown in Table 7 and the spotcontent frame shown in Table 8. The processor for client #2 will thenstore the ad content corresponding to both of these frames.

When the spot marker shown in Table 6 arrives in the media stream beingprovided to the home client #2 user, a comparison will be made betweenthe category ID, that is, “rock music” to the content category of thestored advertisements, which are also “rock music.” Thus, upon the firstreceipt of the spot marker shown in Table 6 in the media stream, thefirst received one of the spot contents corresponding to spot contentframe #1 will be played to the home client #2 user, as represented inTable 5. This will be a 30 second advertisement. At the next occurrenceof the spot marker in Table 6 in the media stream being received by thehome client user #2, the second spot content associated with the spotcontent frame #2 will be played to the home client #2 user. This,likewise, will be a 30 second advertisement. These advertisements willbe played provided they are within the appropriate dates specified inthe spot content frames.

The present invention provides customized spot content to individualusers even though the same spot content stream is being transmitted toall members of a group of such users.

Although several embodiments of the invention have been illustrated inthe accompanying drawings and described in the foregoing DetailedDescription, it will be understood that the invention is not limited tothe embodiments disclosed, but is capable of numerous rearrangements,modifications and substitutions without departing from the scope of theinvention.

What is claimed is:
 1. A computer-implemented method for providing spotcontent in a media stream, the method comprising the followingoperations performed by at least one processor: receiving, at a clientsystem over an electronic network, a media stream comprising at leastone media content unit and at least one spot marker designating a spotlocation at which to insert a spot content unit into the media stream,the at least one spot marker including spot content selectioninformation for selecting a spot content unit to insert at the spotlocation; detecting, at the client system, the at least one spot markercontained in the received media stream; and in response to the detectionof the at least one spot marker: selecting at least one spot contentunit based on the spot content selection information for the spotlocation designated by the detected at least one spot marker; andreproducing the selected at least one spot content unit and the mediastream.
 2. The method of claim 1, wherein reproducing further comprisesgenerating a data stream comprising the selected at least one spotcontent unit inserted into the media stream at the spot locationdesignated by the detected at least one spot marker.
 3. The method ofclaim 1, wherein the spot content selection information includes atleast one of a type, a duration, a genre category, demographicinformation, or geographic information for selecting a spot content unitto insert at the spot location.
 4. The method of claim 1, furthercomprising updating a log based on reproducing the at least one spotcontent unit.
 5. The method of claim 4, further comprising sending thelog to a server after the expiration of a time interval.
 6. The methodof claim 1, wherein the media stream comprises at least one of audio,video, or text.
 7. The method of claim 1, wherein reproducing theselected at least one spot content unit and the media stream comprisespresenting the at least one spot content on the client system as aninterstitial.
 8. An apparatus comprising: at least one processor; and astorage device comprising instructions that, when executed by the atleast one processor, cause the at least one processor to: receive, overan electronic network, a media stream comprising at least one mediacontent unit and at least one spot marker designating a spot location atwhich to insert a spot content unit into the media stream, the at leastone spot marker including spot content selection information forselecting a spot content unit to insert at the spot location; detect theat least one spot marker contained in the received media stream; and inresponse to the detection of the at least one spot marker: select atleast one spot content unit based on the spot content selectioninformation for the spot location designated by the detected at leastone spot marker; and reproduce the selected at least one spot contentunit and the media stream.
 9. The apparatus of claim 8, wherein theinstructions further cause the at least one processor to generate a datastream comprising the selected at least one spot content unit insertedinto the media stream at the spot location designated by the detected atleast one spot marker.
 10. The apparatus of claim 8, wherein the spotcontent selection information includes at least one of a type, aduration, a genre category, demographic information, or geographicinformation for selecting a spot content unit to insert at the spotlocation.
 11. The apparatus of claim 8, wherein the instructions furthercause the at least one processor to update a log based on reproducingthe at least one spot content unit.
 12. The apparatus of claim 11,wherein the instructions further cause the at least one processor tosend the log to a server after the expiration of a time interval. 13.The apparatus of claim 8, wherein the media stream comprises at leastone of audio, video, or text.
 14. The apparatus of claim 8, wherein theinstructions further cause the at least one processor to present the atleast one spot content on the client system as an interstitial.
 15. Anon transitory computer readable medium comprising instructions that,when executed by at least one processor, cause the at least oneprocessor to: receive, over an electronic network, a media streamcomprising at least one media content unit and at least one spot markerdesignating a spot location at which to insert a spot content unit intothe media stream, the at least one spot marker including spot contentselection information for selecting a spot content unit to insert at thespot location; detect the at least one spot marker contained in thereceived media stream; and in response to the detection of the at leastone spot marker: select at least one spot content unit based on the spotcontent selection information for the spot location designated by thedetected at least one spot marker; and reproduce the selected at leastone spot content unit and the media stream.
 16. The medium of claim 15,wherein the instructions further cause the at least one processor togenerate a data stream comprising the selected at least one spot contentunit inserted into the media stream at the spot location designated bythe detected at least one spot marker.
 17. The medium of claim 15,wherein the instructions further cause the at least one processor toupdate a log based on reproducing the at least one spot content unit.18. The medium of claim 17, wherein the instructions further cause theat least one processor to send the log to a server after the expirationof a time interval.
 19. The medium of claim 15, wherein the media streamcomprises at least one of audio, video, or text.
 20. The medium of claim15, wherein reproducing the selected at least one spot content unit andthe media stream comprises presenting the at least one spot content on aclient system as an interstitial.